// 通用响应类型
export interface ApiResponse<T = any> {
  code: number
  message: string
  data: T
}

// 分页响应
export interface PaginatedResponse<T> {
  total: number
  page: number
  page_size: number
  items: T[]
}

// Banner
export interface Banner {
  id: number
  title?: string
  subtitle?: string
  image_url: string
  link_url?: string
  sort_order: number
  status: number
  created_at: string
  updated_at: string
}

// 产品
export interface Product {
  id: number
  category_id?: number
  name: string
  subtitle?: string
  cover_image?: string
  images?: string[]
  summary?: string
  content?: string
  features?: any[]
  specifications?: any
  video_url?: string
  sort_order: number
  view_count: number
  status: number
  seo_title?: string
  seo_keywords?: string
  seo_description?: string
  created_at: string
  updated_at: string
}

// 新闻
export interface News {
  id: number
  category_id?: number
  title: string
  subtitle?: string
  cover_image?: string
  summary?: string
  content: string
  author?: string
  source?: string
  tags?: string
  view_count: number
  is_top: number
  status: number
  publish_time?: string
  seo_title?: string
  seo_keywords?: string
  seo_description?: string
  created_at: string
  updated_at: string
}

// 技术服务套餐
export interface ServicePackage {
  id: number
  name: string
  subtitle?: string
  package_type?: string
  price?: string
  original_price?: string
  price_unit?: string
  description?: string
  features?: string[]
  service_items?: string[]
  suitable_for?: string
  is_recommended: number
  sort_order: number
  status: number
  created_at?: string
  updated_at?: string
}

// 定制开发套餐
export interface CustomPackage {
  id: number
  name: string
  subtitle?: string
  category?: string
  price_range?: string
  duration?: string
  team_size?: string
  description?: string
  features?: string[]
  tech_stack?: string[]
  deliverables?: string[]
  service_process?: any[]
  case_studies?: any[]
  is_hot: number
  sort_order: number
  status: number
  created_at?: string
  updated_at?: string
}

// 套餐功能对照
export interface PackageFeature {
  id: number
  feature_name: string
  feature_category?: string
  description?: string
  basic_plan?: string
  standard_plan?: string
  professional_plan?: string
  enterprise_plan?: string
  sort_order: number
  status: number
  created_at?: string
  updated_at?: string
}

// 常见问题
export interface FAQ {
  id: number
  category?: string
  question: string
  answer: string
  tags?: string
  is_hot: number
  view_count: number
  sort_order: number
  status: number
  created_at?: string
  updated_at?: string
}

// 首页数据
export interface HomeData {
  banners: Banner[]
  products: Product[]
  news: News[]
  service_packages: ServicePackage[]
  custom_packages: CustomPackage[]
  package_features: PackageFeature[]
  faqs: FAQ[]
}

